/**
 * Copyright (C), 2019-2023,
 * FileName: AuthInfo
 * Author:   fanxquer
 * Date:     2023/7/7 11:00
 * Description:
 * History:
 * <author>          <time>          <version>          <desc>
 * 邱富康           2023/7/7           1.0
 */
package com.hsteach.common.core.domain.model;

import com.alibaba.fastjson2.JSONArray;
import com.alibaba.fastjson2.JSONObject;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.List;

/**
 * 〈第三方授权信息〉
 *
 * @author Qiu Fukang
 * @create 2023/7/7
 * @since 1.0.0
 */
@ApiModel(value = "AuthInfo", description = "第三方授权信息")
@Data
public class AuthInfo {

    /**
     * 角色
     */
    @ApiModelProperty(value = "角色 00管理员，10区域老师，20教职工，40家长", required = true)
    private String identity;

    @ApiModelProperty(value = "id", required = true)
    private String id;

    @ApiModelProperty(value = "personId", required = true)
    private String personId;

    @ApiModelProperty(value = "姓名", required = true)
    private String name;

    @ApiModelProperty(value = "性别 1男，0女", required = false)
    private String sex;
    /**
     *手机号
     */
    @ApiModelProperty(value = "手机号", required = false)
    private String mobile;
    /**
     * 工号
     */
    @ApiModelProperty(value = "工号", required = false)
    private String jobNo;
    /**
     * 学校 ID
     */
    @ApiModelProperty(value = "学校 ID", required = false)
    private String schoolId;
    /**
     * 学校名称
     */
    @ApiModelProperty(value = "学校名称", required = false)
    private String schoolName;
    /**
     * 在岗状态
     */
    @ApiModelProperty(value = "在岗状态", required = false)
    private String positionStatus;
    /**
     * 任教学科
     */
    @ApiModelProperty(value = "任教学科", required = false)
    private String teachingCourses;
    /**
     * 所属学段
     */
    @ApiModelProperty(value = "所属学段", required = false)
    private String gradePhase;

    /**
     * 所选学生id
     */
    @ApiModelProperty(value = "所选学生id", required = false)
    private Children currentStudent;

    /**
     * 执教班级信息
     */
    @ApiModelProperty(value = "执教班级信息", required = false)
    List<Eclass> eclasses;

    /**
     * 绑定的孩子信息
     */
    @ApiModelProperty(value = "绑定的孩子信息", required = false)
    List<Children> children;

    /**
     * 年级
     */
    @ApiModelProperty(value = "年级", required = false)
    private String grade;

    /**
     * 班级
     */
    @ApiModelProperty(value = "班级", required = false)
    private String currentClass;

    /**
     * 机构编码
     */
    private String orgCode;

    private Long organizeId;

    /**
     * XgkToken
     */
    private String xgkToken;

    @ApiModelProperty(value = "appToken，用于文件上传接口", required = false)
    private String appToken;

    @ApiModelProperty(value = "头像地址", required = false)
    private String avatarUrl;

    private String accessToken;

    private JSONObject XgkAuthInfo;

    private List<MenuList> menuList;

    private List<ClassDuty> jobList;

    private List<Organization> organizationList;

    private String appId;

    private String currentStudentId;

    private List<JSONObject> dutys;
}